Skip to main content

Versi 1

FieldIsi
Dokumen IDVBS-LAP-019
DeskripsiLaporan keuntungan penjualan: membandingkan total penjualan dengan harga pokok untuk mengetahui keuntungan per barang, per invoice, atau per periode
Nomor Revisi1
Tanggal2026-10-04
KeteranganDokumentasi baseline dari dokumentasi fitur demo dan kode FE

1. Ringkasan​

a. In scope​

  • User membuka laporan Keuntungan Penjualan dari daftar Laporan Penjualan.
  • User memilih mode keuntungan: per barang, per invoice, atau per periode.
  • User mengisi periode tanggal (mode per barang dan per invoice) atau tahun (mode per periode) dan memfilter cabang.
  • User memfilter barang pada mode per barang, invoice pada mode per invoice, serta memilih pengelompokan per bulan atau per kuartal pada mode per periode.
  • User melihat total penjualan, total harga pokok, nilai keuntungan, dan persentase keuntungan.
  • User mengekspor laporan ke Excel jika memiliki hak akses.

b. Catatan​

c. Kesimpulan​

  • [FE] -
  • [BE] -

2. Functional Requirement​

KodeDeskripsi
FR-01Sistem menampilkan keuntungan per barang (SKU) dalam periode
FR-02Sistem menampilkan keuntungan per invoice beserta tanggal dan customer
FR-03Sistem menampilkan keuntungan per bulan atau per kuartal dalam satu tahun
FR-04User dapat memfilter cabang, barang, dan invoice sesuai mode
FR-05User dengan izin Excel dapat mengekspor laporan keuntungan ke Excel

3. Use Case List​

KodeDeskripsi
UC-01Melihat keuntungan penjualan per barang
UC-02Melihat keuntungan penjualan per invoice
UC-03Melihat keuntungan penjualan per periode
UC-04Mengekspor laporan keuntungan ke Excel

4. Use Case Scenario​

UC-01 : Melihat keuntungan penjualan per barang​

AktorUser penjualan / akuntansi
DeskripsiUser mengetahui keuntungan setiap barang yang terjual dalam periode
PrekondisiUser memiliki izin #lap-keuntungan
Alur utama1. User membuka Laporan Penjualan lalu Keuntungan Penjualan.
2. User memilih mode per barang, mengisi periode dan cabang.
3. User dapat memfilter barang tertentu.
4. User menekan tombol tampilkan.
5. Sistem menampilkan nama barang, total penjualan, total HPP, keuntungan, dan persentase keuntungan.
Alur negatif- Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong".
- Jika mode keuntungan belum dipilih, panel filter tambahan tidak tampil.
- Jika data kosong atau gagal dimuat, muncul notifikasi "Data yang anda filter tidak ditemukan silahkan ganti filter".
Bisnis rule- Keuntungan = total penjualan dikurangi total harga pokok.
- Persentase keuntungan = keuntungan dibagi total HPP x 100, dan bernilai 100% jika HPP nol.
- Data dikelompokkan per SKU.
- Mode penjualan (kasir atau grosir) tidak dipakai pada laporan ini.
PostkondisiKeuntungan per barang tampil
TriggerUser menekan tombol tampilkan
Kode FRFR-01
FR-04

UC-02 : Melihat keuntungan penjualan per invoice​

AktorUser penjualan / akuntansi
DeskripsiUser mengetahui keuntungan setiap invoice penjualan
PrekondisiUser memiliki izin #lap-keuntungan
Alur utama1. User memilih mode per invoice, mengisi periode dan cabang.
2. User dapat memfilter nomor invoice tertentu.
3. User menekan tombol tampilkan.
4. Sistem menampilkan tanggal, nomor invoice, customer, total penjualan, total HPP, keuntungan, dan persentase.
Alur negatif- Jika periode kosong, muncul alert "Periode Tidak Boleh Kosong".
- Jika data kosong, muncul notifikasi data tidak ditemukan.
Bisnis rule- Data dikelompokkan per invoice penjualan, nomor invoice, dan tanggal.
- Rumus keuntungan dan persentase sama dengan mode per barang.
PostkondisiKeuntungan per invoice tampil
TriggerUser menekan tombol tampilkan
Kode FRFR-02
FR-04

UC-03 : Melihat keuntungan penjualan per periode​

AktorUser penjualan / akuntansi
DeskripsiUser melihat tren keuntungan per bulan atau per kuartal dalam satu tahun
PrekondisiUser memiliki izin #lap-keuntungan
Alur utama1. User memilih mode per periode lalu memilih tahun dan cabang.
2. User memilih pengelompokan per bulan atau per kuartal.
3. User menekan tombol tampilkan.
4. Sistem menampilkan periode, total penjualan, total HPP, keuntungan, dan persentase.
Alur negatif- Jika pengelompokan periode kosong, form tidak valid dan laporan tidak dimuat.
- Jika data kosong, muncul notifikasi data tidak ditemukan.
Bisnis rule- Rentang data satu tahun penuh sesuai tahun terpilih.
- Server selalu mengembalikan data bulanan, pengelompokan kuartal dilakukan dengan menjumlahkan tiga bulan.
PostkondisiKeuntungan per periode tampil
TriggerUser menekan tombol tampilkan
Kode FRFR-03
FR-04

UC-04 : Mengekspor laporan keuntungan ke Excel​

AktorUser dengan izin Excel laporan keuntungan
DeskripsiUser mengunduh laporan keuntungan sesuai mode yang tampil
PrekondisiLaporan sudah tampil
Alur utama1. User menekan tombol export Excel.
2. Sistem menyusun workbook sesuai mode.
3. Browser mengunduh "Laporan Penjualan Keuntungan.xlsx" untuk mode per barang atau per invoice, atau "Laporan Penjualan Keuntungan per Periode.xlsx" untuk mode per periode.
Alur negatif- Jika filter belum diterapkan, muncul notifikasi "Periode Tidak Boleh Kosong".
- Jika data kosong, muncul alert "Data Laporan Tidak Ditemukan".
Bisnis rule- Tombol tampil bila user memiliki izin excel pada #lap-keuntungan.
- Ekspor dibuat di browser dari data yang tampil.
PostkondisiFile Excel terunduh
TriggerUser menekan tombol export Excel
Kode FRFR-05

5. Data Flow Diagram​

DFD-01 — Alur data keuntungan penjualan​

6. Sequence Diagram​

SD-01 — UC-01 : Melihat keuntungan penjualan per barang​

SD-02 — UC-02 : Melihat keuntungan penjualan per invoice​

SD-03 — UC-03 : Melihat keuntungan penjualan per periode​

SD-04 — UC-04 : Mengekspor laporan keuntungan ke Excel​

7. Table Schema​

8. API Schema​

EndpointStatusPerubahan
GET /laporan-penjualan/marginexisting-
POST /sku/get-bulk-skuexisting-
GET /customerexisting-